import Vue from 'vue'
import App from './App.vue'
import Vant from 'vant';
import 'vant/lib/index.css';
import {router} from './router'
import WechatAuth from 'vue-wechat-auth'
import axios from 'axios'
import VueResource from 'vue-resource'

Vue.use(VueResource)

Vue.config.productionTip = false
// 路由配置



// 微信授权插件初始化

Vue.use(WechatAuth , {
  router, // 路由实例对象
  appid: 'wx3a06c113295b44c3', // 您的微信appid
  responseType: 'code',  // 返回类型，请填写code
  scope: 'snsapi_userinfo', // 应用授权作用域，snsapi_base （不弹出授权页面，直接跳转，只能获取用户openid），snsapi_userinfo （弹出授权页面，可通过openid拿到昵称、性别、所在地。并且，即使在未关注的情况下，只要用户授权，也能获取其信息）
  getCodeCallback (code, next) {
    // 用户同意授权后回调方法
    // code：用户同意授权后，获得code值
    // code说明： code作为换取access_token的票据，每次用户授权带上的code将不一样，code只能使用一次，5分钟未被使用自动过期。
    // next： 无论access_token是否获取成功,一定要调用该方法
    // next说明：next方法接收两个参数
    // 参数1为通过code值请求后端获取到的access_token值，如果获取失败请填入空字符串''
    // 参数2(非必填，默认获取access_token切换到当前路由对象)，指定切换对象 next('/') 或者 next({ path: '/' })
    axios.get('/sns/oauth2/access_token' +
    "?appid=wx3a06c113295b44c3" +
    "&secret=4d0807797b51489dc3be77bac85c9e79"  +
    "&code=" + code +
    '&grant_type=authorization_code' ).then(response => {
      let accessToken=response.data['access_token'];
      let openid =response.data['openid'];
      window.localStorage.setItem('openid',openid)

      axios.get('/sns/userinfo' +
      '?access_token=' + accessToken +
      '&openid=' + openid +
      '&lang=zh_CN' ).then(response => {
        window.localStorage.setItem('userinfo',JSON.stringify(response.data))
        next('/')

      }).catch(() => {
        next() // ajax出现错误
      })
       // 获取access_token失败

    }).catch(() => {
      next() // ajax出现错误
    })
  }
})


Vue.use(Vant);
new Vue({
  el: '#app',
  title:'数据看板',
  router:router,
  render: h => h(App)
})